package com.ruoyi.common.utils.oss;

import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.ruoyi.common.config.oss.OssContext;

import java.io.ByteArrayInputStream;
import java.io.InputStream;


public class OssUtil {


    /**
     * 填写Byte数组上传文件
     * @param url
     * @param inputStream
     */
    public static void  ossUploadByteArray(String url,ByteArrayInputStream inputStream) {
            // 创建OSSClient实例。
            OSS ossClient = new OSSClientBuilder().build(OssContext.getEndpoint(), OssContext.getAccessKeyId(), OssContext.getAccessKeySecret());
            // 填写Byte数组。
            byte[] content = "Hello, Mr. Xu".getBytes();
            // 依次填写Bucket名称、Object完整路径、。Object完整路径中不能包含Bucket名称。
            ossClient.putObject(OssContext.getBucket(), url, inputStream);
            // 关闭OSSClient。
            ossClient.shutdown();
        }


    /**
     * 文件流上传
     * @param url
     * @param inputStream
     */
    public static void   OssUploadFileStream(String url, InputStream inputStream) {
            // 创建OSSClient实例。
            OSS ossClient = new OSSClientBuilder().build(OssContext.getEndpoint(), OssContext.getAccessKeyId(), OssContext.getAccessKeySecret());

            // 填写本地文件的完整路径。如果未指定本地路径，则默认从示例程序所属项目对应本地路径中上传文件流。


            // 依次填写Bucket名称、Object完整路径、。Object完整路径中不能包含Bucket名称。
            ossClient.putObject(OssContext.getBucket(), url, inputStream);

            // 关闭OSSClient。
            ossClient.shutdown();

    }

    public static  String  getFilePath(String url, InputStream inputStream) {
        // 创建OSSClient实例。
        OSS ossClient = new OSSClientBuilder().build(OssContext.getEndpoint(), OssContext.getAccessKeyId(), OssContext.getAccessKeySecret());

        // 填写本地文件的完整路径。如果未指定本地路径，则默认从示例程序所属项目对应本地路径中上传文件流。


        // 依次填写Bucket名称、Object完整路径、。Object完整路径中不能包含Bucket名称。
        ossClient.putObject(OssContext.getBucket(), url, inputStream);

        // 关闭OSSClient。
        ossClient.shutdown();

        return url;
    }









}
